#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<string.h>

int uninit_a;
int a = 100;

int main(int argc, char* argv[],char* env[])
{

  char* stack = (char*)malloc(100);
  printf("正文代码地址    :%p\n",main);
  printf("已初始化数据地址:%p\n",&a);
  printf("未初始化数据地址:%p\n",&uninit_a);
  printf("堆区地址        :%p\n",stack);
  printf("栈区地址        :%p\n",&stack);
  for(int i = 0 ; argv[i]; i++)
  {
  printf("argv参数地址    :%p,argv参数的字长:%d\n",argv[i],strlen(argv[i]));
  }
  for(int i = 0 ; env[i]; i++)
  {
  printf("env参数地址     :%p\n",env[i]);
  }
  return 0;
}
